package com.ruoyi.crm.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 销售退款单对象 refund_sales
 *
 * @author ruoyi
 * @date 2021-08-30
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class RefundSales extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private String id;

    /** 销售退款单编号 */
    @Excel(name = "销售退款单编号")
    private String refundNo;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String customerName;

    /** 退货单 */
    @Excel(name = "退货单")
    private String returnNo;

    /** 退款日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退款日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date refundDate;

    /** 账户 */
    @Excel(name = "账户")
    private String account;

    /** 是否开票 */
    @Excel(name = "是否开票")
    private String isInvoice;

    /** 付款方式 */
    @Excel(name = "付款方式")
    private String payType;

    /** 销售负责人 */
    @Excel(name = "销售负责人")
    private String follower;

    /** 销售负责人 */
    @Excel(name = "合计")
    private String total;


    /** 销售负责人 */
    @Excel(name = "创建人")
    private String creator;

    /** 销售负责人 */
    @Excel(name = "备注")
    private String markInfo;

    /** 销售负责人 */
    @Excel(name = "评论")
    private String comment;

    /** 顾客产品信息信息 */
    private List<CustomerProduct> customerProductList;

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }
    public void setRefundNo(String refundNo)
    {
        this.refundNo = refundNo;
    }

    public String getRefundNo()
    {
        return refundNo;
    }
    public void setCustomerName(String customerName)
    {
        this.customerName = customerName;
    }

    public String getCustomerName()
    {
        return customerName;
    }
    public void setReturnNo(String returnNo)
    {
        this.returnNo = returnNo;
    }

    public String getReturnNo()
    {
        return returnNo;
    }
    public void setRefundDate(Date refundDate)
    {
        this.refundDate = refundDate;
    }

    public Date getRefundDate()
    {
        return refundDate;
    }
    public void setAccount(String account)
    {
        this.account = account;
    }

    public String getAccount()
    {
        return account;
    }
    public void setIsInvoice(String isInvoice)
    {
        this.isInvoice = isInvoice;
    }

    public String getIsInvoice()
    {
        return isInvoice;
    }
    public void setPayType(String payType)
    {
        this.payType = payType;
    }

    public String getPayType()
    {
        return payType;
    }
    public void setFollower(String follower)
    {
        this.follower = follower;
    }

    public String getFollower()
    {
        return follower;
    }

    public List<CustomerProduct> getCustomerProductList()
    {
        return customerProductList;
    }

    public void setCustomerProductList(List<CustomerProduct> customerProductList)
    {
        this.customerProductList = customerProductList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("refundNo", getRefundNo())
                .append("customerName", getCustomerName())
                .append("returnNo", getReturnNo())
                .append("refundDate", getRefundDate())
                .append("account", getAccount())
                .append("isInvoice", getIsInvoice())
                .append("payType", getPayType())
                .append("follower", getFollower())
                .append("updateTime", getUpdateTime())
                .append("customerProductList", getCustomerProductList())
                .toString();
    }
}